package com.icongyou.enterprise.talent_analysis.service;

import java.util.Map;

/**
 * 词云图服务接口（独立于画像服务）
 */
public interface WordCloudService {
    
    /**
     * 获取学生的教师评价词云图（优先从缓存读取）
     * @param studentId 学生ID
     * @return 关键词及频次
     */
    Map<String, Integer> getWordCloud(String studentId);
    
    /**
     * 异步生成词云图（添加到队列）
     * @param studentId 学生ID
     * @param triggerType 触发类型
     * @param triggerSource 触发来源
     */
    void generateWordCloudAsync(String studentId, String triggerType, String triggerSource);
    
    /**
     * 同步生成词云图并缓存
     * @param studentId 学生ID
     * @return 关键词及频次
     */
    Map<String, Integer> generateWordCloudSync(String studentId);
    
    /**
     * 使缓存失效
     * @param studentId 学生ID
     */
    void invalidateCache(String studentId);
}
